package code1.binary_tree;

/**
 * 原题链接：https://leetcode.cn/problems/merge-two-binary-trees/
 */
public class P617 {

    //先序遍历
    public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
        if(root1==null && root2==null){
            return null;
        }
        TreeNode root = null;
        if(root1!=null && root2!=null){
            root=new TreeNode(root1.val+root2.val);
            root.left=mergeTrees(root1.left,root2.left);
            root.right=mergeTrees(root1.right,root2.right);
        }else if(root1==null && root2!=null){
            root=new TreeNode(root2.val);
            root.left=mergeTrees(null,root2.left);
            root.right=mergeTrees(null,root2.right);
        }else if(root1!=null && root2==null){
            root=new TreeNode(root1.val);
            root.left=mergeTrees(root1.left,null);
            root.right=mergeTrees(root1.right,null);
        }
        return root;
    }
}
